package com.hxzy.authentication.domain;

import java.util.Date;
import java.io.Serializable;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author mingqian.Wu
 * @since 2023-06-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "TsRealNameAuthentication对象", description = "")

public class TsRealNameAuthentication implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "认证ID")
    @TableId
    private String authenticationId;

    @ApiModelProperty(value = "用户编号")
    private String userId;

    @ApiModelProperty(value = "注册手机")
    private String registerPhone;

    @ApiModelProperty(value = "身份证号")
        private String idNumber;

    @ApiModelProperty(value = "地址")
    private String address;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "性别")
    private String gender;

    @ApiModelProperty(value = "民族")
    private String ethnicity;

    @ApiModelProperty(value = "出生日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date birthDate;

    @ApiModelProperty(value = "签发机关")
    private String issueAuthority;

    @ApiModelProperty(value = "身份证失效日期")
//    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private String validPeriod;

    @ApiModelProperty(value = "申请认证时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date applyTime;

    @ApiModelProperty(value = "身份证正面")
    private String idCardFront;

    @ApiModelProperty(value = "身份证反面")
    private String idCardOpposite;

    @ApiModelProperty(value = "审核人")
    private String reviewer;

    @ApiModelProperty(value = "审核时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date auditTime;

    @ApiModelProperty(value = "认证状态")
    private Integer certificationStatus;

    @ApiModelProperty(value = "驳回原因")
    private String rejectReason;

    @TableField(exist = false)
    private String certificationName;


}
